package Search;

import Algorithm.Sort.Template;
import Utils.ArrUtil;

import java.util.ArrayList;
import java.util.List;

/**
 * 查找(1)
 * 线性查找(顺序查找)
 */
public class LinearSearch {

    private static List<Integer> result = new ArrayList<>();

    /**
     * 查找
     *
     * @param a   需要查找的数值
     * @param arr 原始的数组
     * @return 返回查找值的下标
     */
    public static List<Integer> search(int[] arr, int a) {
        for (int i = 0; i < arr.length; i++) {
            if (a == arr[i]) result.add(i);
        }
        return result;
    }

    public static void main(String[] args) {
        int testSize = 30;
        int[] arr = ArrUtil.getIntData(testSize);
        //输出原数组
        ArrUtil.show(arr);
        int a = (int) (Math.random() * testSize);

        System.out.println("查找" + a);

        List<Integer> index = search(arr, a);

        System.out.println("下标" + index);

        //if (index != -1) System.out.println("数组实际元素 arr[" + index + "]=" + arr[index]);

    }

}
